TPrint
TPrint structure
#include <PrintTraps.h>
typedef struct TPrint { Size Offset Description
short iPrVersion; 2 0 Printer Driver version number
TPrInfo prInfo; 14 2 Printer info: iDev, iVRes, iVRes, rPage
Rect rPaper; 8 16 Physical page size (top and left are
typically negative; printable area is in
prInfo.rPage)
TPrStl prStl; 8 24 Page Setup stuff: wDev, iPageV, bPort,
feed,...
TPrInfo prInfoPT; 14 32 (used internally)
TPrXInfo prXInfo; 16 46 More printer info: iRowBytes, iDevBytes,
etc.
TPrJob prJob; 20 62 Job: iFstPage, iCopies, pIdleProc, etc.
short printX[19]; 38 82 ( filler, not used)
} TPrint; 120
typedef TPrint *TPPrint;
typedef TPrint **THPrint; /* a handle is used in all calls */

Notes: The TPrint structure is the basic "print record" used by the Printing
Manager. A handle to a TPrint is used in the following functions:
PrintDefault PrStlDialog PrJobMerge PrPicFile
PrValidate PrJobDialog PrOpenDoc
Use NewHandle to allocate storage for the structure and follow it with a
call to PrintDefault to fill-in the standard information.
We are explicitly warned that this structure (including its sub structures)
is likely to change in the future. With very few exceptions, the print
record should be handled as a "read-only" structure. The Print Manager
dialogs will take care of letting the user select the various options, and some
complicated interactions take place between the Printing Manager, the
dialogs, and the Printer Driver. See PrOpenPage for the most common
exception to the "read-only" rule.
It is advisable to save a copy of the TPrint record (after running it through
the print dialogs) when you save a file. The next time a user wishes to
print the document, read it from the file and call PrValidate to ensure its
correctness.